//爬取网页的主要信息（核心啊核心）

'use strict'
var Crewler=require('crawler');
var articles=require('./articles');
var https=require('https');
var fs=require('fs');

//声明一个数组来存放变量
var add=[];

var cr=new Crewler({
    maxConnection:1,
    rateLimit:10,
    callback:function(error,res,done){
        if(error){
            console.log(error);
        }else{
            var $=res.$;
            
            //前程无忧网页选择地址和职位后，打开源码，这里是数据分析师那个div的名称，和el里面的每一行的信息
            //括号里面的名称必须和源码中所在位置的名称一致
            var list=$('.dw_table .el').toArray();

            list.forEach(element=>{
                //职业名称：Cleric
                //公司名：CompanyName
                //工作地点：WorkingPlace
                //工资：Wage
                //发布时间：ReleaseTime
                var Cleric=$(element).find(' .t1 span').text().trim().replace(/[ \r\n]/g,'');
                console.log(Cleric);//源代码中职业名称所在列的列名为t1

                var CompanyName=$(element).find(' .t2 a').attr('title');
                console.log(CompanyName);//源代码中公司名称所在列的列名为t2

                var WorkingPlace=$(element).find(' .t3').text().trim().replace(/[ \r\n]/g,'');
                console.log(WorkingPlace);//源代码中工作地点所在列的列名为t3

                var Wage=$(element).find(' .t4').text().trim().replace(/[ \r\n]/g,'');
                console.log(Wage);//源代码工资所在列的列名为t4

                var ReleaseTime=$(element).find(' .t5').text().trim().replace(/[ \r\n]/g,'');
                console.log(ReleaseTime);//源代中法发布时间的所在列的列名为t5
                //前面的单词是artis中的命名，后面的单词是本页上面的命名
                articles.create({Cleric:Cleric, CompanyName:CompanyName, WorkingPlace:WorkingPlace , Wage:Wage , ReleaseTime:ReleaseTime})
            })
        }
        done();
    }
})

setTimeout(()=>{
    for(let index=1;index<=5;index++){
        //这里的网址是筛选了地址和职位信息过后的网址，不是一进去的前程无忧的网址！！！！
        cr.queue('https://search.51job.com/list/010000%252C020000%252C030200%252C040000%252C180200,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590%25E5%25B8%2588,2,1.html?lang=c&stype=&postchannel=0000&workyear=99&cotype=99&degreefrom=99&jobterm=99&companysize=99&providesalary=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=')
    }
},2);

module.exports = cr;